software vulnerabilities internet security software security buffer overflow antivirus firewall smart card deployment security program manager exploit writing secure code smart card module application security encryption security threat model security license management